Шаг 19 - Конструктор копий.

Загрузить проект

Данная возможность позволяет создавать точно такой же класс используя операцию равенства.

Visual C++.Net
Visual Basic.Net
CSharp

Visual C++.Net

// This is the main project file for VC++ application project 
// generated using an Application Wizard.

#using <mscorlib.dll>

using namespace System;

class  CMyClass
{

public:
	CMyClass();
	CMyClass(int ii);	
	CMyClass(CMyClass& ii);
	int i;
	
};

CMyClass::CMyClass(CMyClass& ii)
{
	i=ii.i; 
}


  
CMyClass::CMyClass(int ii)
{
	i=ii;
}

// This is the entry point for this application
int main(void)
{
    // TODO: Please replace the sample code below with your own.
    CMyClass cm(5);
    CMyClass ck(0);
    ck=cm;
    Console::WriteLine(ck.i);   
    return 0;
}

Visual Basic.Net

Module Module1
    
        
    Class CMyClass
        Public Overloads Sub New()
            
        End Sub
        Public Overloads Sub New(ByRef ii As Integer)
            i = ii
        End Sub
        
        Public Overloads Sub New(ByRef ii As CMyClass)
            i = ii.i
        End Sub
        
        Public i As Integer
    End Class
    
    Sub Main()
        Dim cm As New CMyClass(5)
        Dim ck As New CMyClass()
        ck = cm
        MsgBox(ck.i)
    End Sub
    
End Module

CSharp

namespace ConsoleApplication2
{
    using System;

	 class CMyClass
	{
		public CMyClass()
		{
	
		}
		public CMyClass(int ii)
		{
			i=ii;
		}
		public CMyClass(CMyClass ii)
		{
			i=ii.i;
		}
		 public int i=1;
   	}

	
    	
    public class Class1
    {
        
        public static int Main(string[] args)
        {
				CMyClass cm  = new CMyClass(5);
				CMyClass ck  = new CMyClass();
				ck=cm;
				Console.WriteLine(ck.i); 
    
            return 0;
        }
    }
}
Hosted by uCoz